When booting a non-volatile solid state memory device, such as a flash drive, a boot loader may load and initialize firmware that implements a block storage protocol, such as SATA or ATA. The firmware may be stored in the non-volatile solid state memory of the device. In order to initialize and/or load the firmware, the boot loader may read parameters from the non-volatile solid state memory of the device.
The parameters may vary over time. As a result, the parameters may be written to the non-volatile solid state memory of the device when the device is being shut down, for example. Accordingly, when the boot loader reads the parameters from the non-volatile solid state memory, the parameters should have the correct values.
To increase the endurance of the non-volatile solid state memory, the parameters may be written to a new location, such as a new sector, in the non-volatile solid state memory each time the parameters are written. When booting the device, the boot loader may search sectors in a block of the non-volatile solid state memory for a sector in which one or more of the parameters are stored.